﻿using System.Windows.Forms;

namespace kinokasse.saalplanview
{
    partial class SaalplanView
    {
        private void Sitzmatrix_im_Grid_spaltenweise_anzeigen()
        {
            Autosizemodus_für_Grid_einstellen();
            Größe_des_Grid_für_Sitzmatrix_berechnen();
            for (var zeile = 0; zeile < anzahlSitzZeilen; zeile++)
                Sitzmatrix_zeilenweise_füllen(zeile);
        }


        private void Autosizemodus_für_Grid_einstellen()
        {
            SaalplanGrid.RowStyles.Clear();
            SaalplanGrid.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            SaalplanGrid.ColumnStyles.Clear();
        	var zentrierenSpalteBreite = 300 - 15 * anzahlSitzSpalten;
            SaalplanGrid.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, zentrierenSpalteBreite < 0 ? 0 : zentrierenSpalteBreite));
            SaalplanGrid.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
        }

        private void Größe_des_Grid_für_Sitzmatrix_berechnen()
        {
            SaalplanGrid.ColumnCount = anzahlSitzSpalten + 2; // + 2 Spalten für Zentrieren und ReihenBeschriftung
            SaalplanGrid.RowCount = anzahlSitzZeilen;
        }


        private void Sitzmatrix_zeilenweise_füllen(int zeile)
        {
            for (var spalte = 0; spalte < anzahlSitzSpalten; spalte++)
                Sitz_anzeigen(spalte, zeile);
        }
    }
}
